//
// Created by Bruce on 11/21/24.
//

#ifndef CAMMULTITHREADDETECTOR_ALGOFUNCTIONER_HPP
#define CAMMULTITHREADDETECTOR_ALGOFUNCTIONER_HPP

#pragma once

#include "include/Application/cammultithreaddetector_gloabl_variables.h"

namespace CamMultiThreadDetector{

	namespace Application{

		
		class AlgoFunctioner
		{
		public:
			AlgoFunctioner();
			virtual ~AlgoFunctioner();
			virtual int setParams(Application::CameraInstanceName __CameraInstanceName);
			static std::shared_ptr<AlgoFunctioner> getInstance();
			virtual void run();
			
		private:
			Application::CameraInstanceName m_pCameraInstanceName = Application::CameraInstanceName::CAMERA0;

		}; // class AlgoFunctioner


	} // namespace Application

} // namespace CamMultiThreadDetector

#endif // CAMMULTITHREADDETECTOR_ALGOFUNCTIONER_HPP
